The present disclosure relates to migration of applications in view of newly released versions of application program interfaces (APIs), and more specifically, to the automated discovery of web API changes and generation of an API difference description (ADD) file to describe the difference between multiple API versions.
Application programs often require access to proprietary or large datasets, or computational functionalities. Some web services may provide access by providing such resources over the Internet. Service oriented computing standards were created to define various implementation aspects of web services. For example, Universal Description Discovery & Integration (UDDI) addresses service identifiability, the simple object access protocol (SOAP) prescribes how to implement service interfaces to enable interoperability, and the web service description language (WSDL) guarantees uniform, machine-readable service descriptions. Concepts like identifiability, interoperability, or composability may not be universally adopted by programmers, and thus, web application programming interfaces (web APIs) descriptions generally do not follow any one standard. Consequently most web services expose APIs having diverse conventions with descriptions may not be easily convertible from one standard to another. Some API management platforms allow API providers to publically publish their APIs. In an effort to make APIs more understandable and easy to use by API consumers (e.g., application program developers), API providers often publish an API description file using API description language (DL) together with their published public web API to assist in migrating an application from one version to another.
Because many API providers make frequent changes to their web APIs, consumers who wish to apply a latest API version are tasked to update their developed applications quite often. Presently, however, API consumers are required to perform a complex process to update their applications from a first version to a second version. The process is time consuming, labor intensive, and prone to user error.